#ifndef __MOTOR_JIN_H
#define __MOTOR_JIN_H
#include "ti_msp_dl_config.h"
#include "clock.h"


#define STEP_TO_MM_X 0.1  // X轴每步移动 0.1mm
#define STEP_TO_MM_Y 0.1  // Y轴每步移动 0.1mm

#define WAVE_LENGTH_MM    (2 * 3.14159f)  // 周期长度（毫米，对应 $2\pi$）
#define WAVE_AMPLITUDE_MM 7.0f            // 振幅（毫米）
#define WAVE_POINTS       200             // 每个周期的采样点数（值越大曲线越平滑）


extern int current_x;
extern int current_y;

static uint8_t stepSequence[][4] =
{
    {1, 0, 0, 0},
    {1, 1, 0, 0},
    {0, 1, 0, 0},
    {0, 1, 1, 0},
    {0, 0, 1, 0},
    {0, 0, 1, 1},
    {0, 0, 0, 1},
    {1, 0, 0, 1}
};

static int sequenceIndex = 0;
static int direction = 1; // +1: 正转, -1: 反转

void motor_step(void);
void motor_rotate(float angle, int dir);

#endif
